import 'package:flutter_app/generated/json/base/json_field.dart';
import 'package:flutter_app/generated/json/group_task_detail_entity.g.dart';


import 'package:flutter_app/bean/file_path_entity.dart';
import 'package:image_pickers/image_pickers.dart';

@JsonSerializable()
class GroupTaskDetailEntity {

	GroupTaskDetailEntity();

	factory GroupTaskDetailEntity.fromJson(Map<String, dynamic> json) => $GroupTaskDetailEntityFromJson(json);

	Map<String, dynamic> toJson() => $GroupTaskDetailEntityToJson(this);

	String? taskId;
	String? groupId;
	String? taskTitle;
	String? startTime;
	String? endTime;
	String? taskStatus;
	String? collectId;
	String? areaId;
	String? isLimit;
	String? writeAuth;
	GroupTaskDetailCollectGroupVO? collectGroupVO;
	List<GroupTaskDetailProblemSubmitList>? problemSubmitList;
	String? memberStatus;
	String? memberRole;
}

@JsonSerializable()
class GroupTaskDetailCollectGroupVO {

	GroupTaskDetailCollectGroupVO();

	factory GroupTaskDetailCollectGroupVO.fromJson(Map<String, dynamic> json) => $GroupTaskDetailCollectGroupVOFromJson(json);

	Map<String, dynamic> toJson() => $GroupTaskDetailCollectGroupVOToJson(this);

	String? id;
	String? collectId;
	String? areaId;
	String? areaName;
	String? groupName;
	String? status;
	String? grade;
	List<GroupTaskDetailCollectGroupVOGroupMemberVOList>? groupMemberVOList;
	GroupTaskDetailCollectGroupVORouteVO? routeVO;
}

@JsonSerializable()
class GroupTaskDetailCollectGroupVOGroupMemberVOList {

	GroupTaskDetailCollectGroupVOGroupMemberVOList();

	factory GroupTaskDetailCollectGroupVOGroupMemberVOList.fromJson(Map<String, dynamic> json) => $GroupTaskDetailCollectGroupVOGroupMemberVOListFromJson(json);

	Map<String, dynamic> toJson() => $GroupTaskDetailCollectGroupVOGroupMemberVOListToJson(this);

	String? userId;
	String? userName;
	String? memberRole;
	String? writeAuth;
	String? collectId;
	String? groupId;
	String? status;
	String? updateTime;
	String? hm;
	String? userIdList;
}

@JsonSerializable()
class GroupTaskDetailCollectGroupVORouteVO {

	GroupTaskDetailCollectGroupVORouteVO();

	factory GroupTaskDetailCollectGroupVORouteVO.fromJson(Map<String, dynamic> json) => $GroupTaskDetailCollectGroupVORouteVOFromJson(json);

	Map<String, dynamic> toJson() => $GroupTaskDetailCollectGroupVORouteVOToJson(this);

	String? id;
	String? collectId;
	String? areaName;
	String? orderBy;
	List<GroupTaskDetailCollectGroupVORouteVOOrganVOList>? organVOList;
}

@JsonSerializable()
class GroupTaskDetailCollectGroupVORouteVOOrganVOList {

	GroupTaskDetailCollectGroupVORouteVOOrganVOList();

	factory GroupTaskDetailCollectGroupVORouteVOOrganVOList.fromJson(Map<String, dynamic> json) => $GroupTaskDetailCollectGroupVORouteVOOrganVOListFromJson(json);

	Map<String, dynamic> toJson() => $GroupTaskDetailCollectGroupVORouteVOOrganVOListToJson(this);

	String? id;
	String? collectId;
	String? areaId;
	String? orgId;
	String? orgName;
	String? orderBy;
}

@JsonSerializable()
class GroupTaskDetailProblemSubmitList {

	GroupTaskDetailProblemSubmitList();

	factory GroupTaskDetailProblemSubmitList.fromJson(Map<String, dynamic> json) => $GroupTaskDetailProblemSubmitListFromJson(json);

	Map<String, dynamic> toJson() => $GroupTaskDetailProblemSubmitListToJson(this);

	String? id;
	String? groupId;
	String? orgId;
	String? orgName;
	String? content;
	String? status;
	String? createTime;
	String? isSelf;
	String? problemCode;
	String? problemCodeName;
	String? uploadState; // 进度状态 0进行中 1已完成 2失败
	String? uploadProgress; // 进度条 %
	List<Media>? imagesList;
	List<FilePathEntity>? fileList;
}
